using System;
using System.CodeDom.Compiler;

namespace TouchSocket.Core;

/// <summary>
/// 标识源生成<see cref="T:TouchSocket.Core.IPackage" />成员的特性。
/// </summary>
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
[GeneratedCode("TouchSocket.SourceGenerator", "2.1.10.0")]
internal class PackageMemberAttribute : Attribute
{
	/// <summary>
	/// 生成行为。一般来说，对于非只读、非重写、且同时拥有get，set（可以私有）访问器的属性，会自动生成。
	/// 对于字段，均不会自动生成。所以可以使用该设置，来指示生成器的生成行为。
	/// </summary>
	public PackageBehavior Behavior { get; set; }

	public int Index { get; set; }

	public Type Converter { get; set; }
}
